package com.xgzit.xgzmall.search.vo;

import com.xgzit.common.dto.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * es中查询到的结果
 *
 * @Author xgz
 * @Date 2021-04-27 19:21
 */
@Data
public class SearchResultVo {
    /**
     * 查询到的所有商品信息
     **/
    private List<SkuEsModel> products;

    /**
     * 当前页
     **/
    private Integer pageNum;
    /**
     * 总记录数
     **/
    private Long total;
    /**
     * 总页码
     **/
    private Integer totalPages;

    /** 导航页码集合 */
    private List<Integer> pageNavs;

    /**
     * 当前查询到的结果 所有涉及到的品牌信息
     * 品牌
     **/
    private List<BrandVo> brands;
    /**
     * 当前查询到的结果 所有涉及到的属性信息
     * 属性
     **/
    private List<AttrVo> attrs;
    /**
     * 当前查询到的结果 所有涉及到的分类信息
     * 分类
     **/
    private List<CatalogVo> catalogs;

    /** 面包屑导航数据 **/
    private List<NavVo> navs = new ArrayList<>();

    /** 那些属性筛选了 **/
    private List<Long> attrIds = new ArrayList<>();

    /** 面包屑导航Vo **/
    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;
    }

    /** 品牌信息 静态内部类*/
    @Data
    public static class BrandVo{
        private Long brandId;
        private String brandName;
        private String brandImg;
    }
    /** 属性信息 静态内部类*/
    @Data
    public static class AttrVo{
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
    /** 分类信息 静态内部类*/
    @Data
    public static class CatalogVo{
        private Long catalogId;
        private String catalogName;
    }
}
